﻿
#region Comment

/*
 * Project：    SpaceLibrary
 * 
 * FileName:    Option/tooltip.cs
 * CreatedOn:   2016-06-23
 * CreatedBy:   农夫有田
 * 
 * 
 * Description：
 *      ->      ECharts3全局参数
 *   
 * History：
 *      ->
 * 
 * Examples：
 *      ->      
 *          
 */

#endregion

namespace SpaceLibrary
{
    using System;
    using System.Collections.Generic;

    #region 全局参数

    /// <summary>
    /// 全局参数
    /// </summary>
    public partial class ECharts3
    {
        #region tooltip

        /// <summary>
        /// 提示框组件。
        /// </summary>
        public _tooltip tooltip = new _tooltip();

        public class _tooltip
        {
            #region show

            private bool _show = true;

            /// <summary>
            /// 是否显示提示框组件，包括提示框浮层和 axisPointer。
            /// <para>[ default: true ]</para>
            /// </summary>
            public bool show
            {
                get { return _show; }
                set { _show = value; }
            }

            #endregion

            #region showContent

            private bool _showContent = true;

            /// <summary>
            /// 是否显示提示框浮层，默认显示。只需tooltip触发事件或显示axisPointer而不需要显示内容时可配置该项为false。
            /// <para>[ default: true ]</para>
            /// </summary>
            public bool showContent
            {
                get { return _showContent; }
                set { _showContent = value; }
            }

            #endregion

            #region trigger

            private dynamic _trigger = Params.trigger.item;

            /// <summary>
            /// 触发类型。
            /// <para>[ default: 'item' ]</para>
            /// <para>可选：'item'，'axis'</para>
            /// <para>'item'：数据项图形触发，主要在散点图，饼图等无类目轴的图表中使用。</para>
            /// <para>'axis'：坐标轴触发，主要在柱状图，折线图等会使用类目轴的图表中使用。</para>
            /// </summary>
            public dynamic trigger
            {
                get { return _trigger; }
                set
                {
                    Type gettype = value.GetType();
                    if (gettype.IsEnum)
                    {
                        switch ((Enum.tooltip.trigger)value)
                        {
                            case Enum.tooltip.trigger.item:
                                _trigger = Params.trigger.item;
                                break;
                            case Enum.tooltip.trigger.axis:
                                _trigger = Params.trigger.axis;
                                break;
                            default:
                                _trigger = Params.trigger.item;
                                break;
                        }
                    }
                    else
                        _trigger = value;
                }
            }

            #endregion

            #region triggerOn

            private dynamic _triggerOn = Params.triggerOn.mousemove;

            /// <summary>
            /// 触发类型。
            /// <para>[ default: 'item' ]</para>
            /// <para>可选：'item'，'axis'</para>
            /// <para>'item'：数据项图形触发，主要在散点图，饼图等无类目轴的图表中使用。</para>
            /// <para>'axis'：坐标轴触发，主要在柱状图，折线图等会使用类目轴的图表中使用。</para>
            /// </summary>
            public dynamic triggerOn
            {
                get { return _triggerOn; }
                set
                {
                    Type gettype = value.GetType();
                    if (gettype.IsEnum)
                    {
                        switch ((Enum.tooltip.triggerOn)value)
                        {
                            case Enum.tooltip.triggerOn.mousemove:
                                _triggerOn = Params.triggerOn.mousemove;
                                break;
                            case Enum.tooltip.triggerOn.click:
                                _triggerOn = Params.triggerOn.click;
                                break;
                            default:
                                _triggerOn = Params.triggerOn.mousemove;
                                break;
                        }
                    }
                    else
                        _triggerOn = value;
                }
            }

            #endregion
        }

        #endregion
    }

    #endregion
}
